struct _POP_FX_DEVICE// Size=0x4b0
{
    struct _LIST_ENTRY Link;// Offset=0x0 Size=0x10
    struct _IRP * Irp;// Offset=0x10 Size=0x8
    struct _POP_IRP_DATA * IrpData;// Offset=0x18 Size=0x8
    union _POP_FX_DEVICE_STATUS Status;// Offset=0x20 Size=0x4
    long PowerReqCall;// Offset=0x24 Size=0x4
    long PowerNotReqCall;// Offset=0x28 Size=0x4
    struct _DEVICE_NODE * DevNode;// Offset=0x30 Size=0x8
    struct PEPHANDLE__ * DpmContext;// Offset=0x38 Size=0x8
    struct _POP_FX_PLUGIN * Plugin;// Offset=0x40 Size=0x8
    struct PEPHANDLE__ * PluginHandle;// Offset=0x48 Size=0x8
    struct _POP_FX_PLUGIN * AcpiPlugin;// Offset=0x50 Size=0x8
    struct PEPHANDLE__ * AcpiPluginHandle;// Offset=0x58 Size=0x8
    struct _DEVICE_OBJECT * DeviceObject;// Offset=0x60 Size=0x8
    struct _DEVICE_OBJECT * TargetDevice;// Offset=0x68 Size=0x8
    struct _POP_FX_DRIVER_CALLBACKS Callbacks;// Offset=0x70 Size=0x50
    void * DriverContext;// Offset=0xc0 Size=0x8
    struct _LIST_ENTRY AcpiLink;// Offset=0xc8 Size=0x10
    struct _UNICODE_STRING DeviceId;// Offset=0xd8 Size=0x10
    struct _IO_REMOVE_LOCK RemoveLock;// Offset=0xe8 Size=0x20
    struct _IO_REMOVE_LOCK AcpiRemoveLock;// Offset=0x108 Size=0x20
    struct _POP_FX_WORK_ORDER WorkOrder;// Offset=0x128 Size=0x38
    unsigned long long IdleLock;// Offset=0x160 Size=0x8
    struct _KTIMER IdleTimer;// Offset=0x168 Size=0x40
    struct _KDPC IdleDpc;// Offset=0x1a8 Size=0x40
    unsigned long long IdleTimeout;// Offset=0x1e8 Size=0x8
    unsigned long long IdleStamp;// Offset=0x1f0 Size=0x8
    struct _DEVICE_OBJECT * NextIrpDeviceObject[2];// Offset=0x1f8 Size=0x10
    union _POWER_STATE NextIrpPowerState[2];// Offset=0x208 Size=0x8
    void  ( * NextIrpCallerCompletion)[2];// Offset=0x210 Size=0x10
    void * NextIrpCallerContext[2];// Offset=0x220 Size=0x10
    struct _KEVENT IrpCompleteEvent;// Offset=0x230 Size=0x18
    unsigned char  ( * PowerOnDumpDeviceCallback)(struct _PEP_CRASHDUMP_INFORMATION * );// Offset=0x248 Size=0x8
    struct _POP_FX_ACCOUNTING Accounting;// Offset=0x250 Size=0xe0
    unsigned long Flags;// Offset=0x330 Size=0x4
    unsigned long ComponentCount;// Offset=0x334 Size=0x4
    struct _POP_FX_COMPONENT ** Components;// Offset=0x338 Size=0x8
    unsigned long LogEntries;// Offset=0x340 Size=0x4
    struct _POP_FX_LOG_ENTRY * Log;// Offset=0x348 Size=0x8
    long LogIndex;// Offset=0x350 Size=0x4
    struct _DRIVER_OBJECT * DripsWatchdogDriverObject;// Offset=0x358 Size=0x8
    struct _POP_FX_DRIPS_WATCHDOG_CONTEXT DripsWatchdogContext;// Offset=0x360 Size=0x28
    unsigned long DirectedTimeout;// Offset=0x388 Size=0x4
    struct _POP_FX_WORK_ORDER DirectedWorkOrder;// Offset=0x390 Size=0x38
    struct _POP_FX_WORK_ORDER_WATCHDOG_INFO DirectedWorkWatchdogInfo;// Offset=0x3c8 Size=0xb0
    unsigned long long DirectedLock;// Offset=0x478 Size=0x8
    long DirectedTransitionCallCount;// Offset=0x480 Size=0x4
    struct _POP_FX_DEVICE_DIRECTED_TRANSITION_STATE DirectedTransitionState;// Offset=0x488 Size=0x10
    struct _POP_DEVICE_POWER_PROFILE * PowerProfile;// Offset=0x498 Size=0x8
    struct _UNICODE_STRING FriendlyName;// Offset=0x4a0 Size=0x10
};